专利摘要:

公开号:WO1988007238A1
申请号:PCT/JP1988/000146
申请日:1988-02-15
公开日:1988-09-22
发明作者:Mikio Yonekura
申请人:Fanuc Ltd;
IPC主号:G06F9-00
专利说明:
[0001] . 明 細 書 高速浮動小数点演算システム 技術分野
[0002] 本発明は、 高速浮動小数点演算システムに関する。 背景技術
[0003] 浮動小数点演算を行う際に汎用のプロセ ッサを用いる と非 常に速度が遅いため、 浮動小数点演算専用のハ ー ドウ ア構 成を有する高速浮動小数点演算器 (Fast Floating Point- Processor 、 以下 F F P とも称す) を設ける こ とが従来行わ れている。
[0004] この場合、 汎用のプロセ ッ サからなるホス ト プロセ ッ サが. 上記 F F Pに、 演算に必要なデータを含むコ マン ドブロ ッ ク を入力する こ とによ り演算の実行を命じる。 他方、 該 F F P は、 入力したコマン ドブロ ッ クを記憶するデ一タ記憶部と、 該デ一タ記憶部に記憶したコ マン ドブロ ッ クに従つて演算を 実行し、 その演算結果を苒び該データ記憶部に記憶させる演 算実行部とからなっており 、 前記ホス トプロセ ッ サは該デ― ' タ記憶部に演算結果が記憶される とこれを読出すという高速 浮動小数点演算システムが形成されていた。
[0005] 上記のよう なシステムにおけるハ ー ドウ ユアの構成の 1 例 を第 1 図に示す。 第 1 図において、 100は高速浮動小数点演 算器 ( F F P ) 、 200はホス トプロセ ン サであ って両者はバ フ クプレーンバス 7 0およびバスイ ンターフヱイ ス 7 1 を介 して接繞されている。 該高速浮動小数点演算器(FFP) 100の構 成は以下のとおりである。
[0006] まず、 3 はデータ記憶部、 4は演箕部、 5 — 1 ばマイ ク ロ プロダラム制御部、 5 — 2 はク ロ ック発生部、 そして、 9 は 双方向バソ フ ァ である。 - マイ ク ロプログラム制御部 5 ― 1 はマイ ク ロプログラム記 億部 5 2を有し、 該マイ ク ロプ πグラム記憶都 (Wr i tab l e Co n tro l S torage , WCS とも 、う) 5 2 Jこ ま予めホス トフ。ロセ ッサ 200 よりマイ ク ロプログラムが書込まれており該マイ ク 口プログラム制御部 5 ― 1 は、 該マイ ク ロプログラムに従つ て前記演箕部 4や前記データ記億部 3 を制御する。
[0007] 演算部 4は、 前記マイ ク ロプログラム制御部 5 - 1 の制御 により、 データ記憶部 3から演算用データを読出して、 これ を演算し、 演算結果は、 再び該データ記憶部 3 に書込む。
[0008] データ記億部 3 はデ一タ R 30 , R Z W (リ ー ド Zライ ト read / wr i te)コ ン ト ロール 3 1 、 ア ドレス * ジェネ レータ 3 2 、 ア ドレス ' レジスタ 3 3、 およびレジスタ 3 4から構 成されている。 データ 30には前記双方向バッファ 9およ びデ一タバス 7 3を介して、 ホス トプロセッサ 200 から送ら れた演箕用データが一旦書込まれ、 該演箕用データは更に前 記演算部 4へ読出される。 該演箕部 4における演箕結果は再 び該データ RAM 30に書込まれ、 前記ホス トプロセ ッサ 200 に より読出される。 こ こで、 Rノ Wコ ン ト ロール 3 1 は、 該デ ータ R AM 30と前記演算部 4 との間のデータのやり とりに関し ては前記マイ ク ロプログラム制御部 5 - 1 の制御 (第 1 図で は符号 " M " で示す) により 、 また該データ RA M 30と前記ホ ス トプロセ ッ サ 200 との間のデータのやり とり に関しては、 ホ ス ト プロセ ッ サ 200 から Rノ W (リ ー ド . ライ ト) 信号と ス ト ロ ーブ信号とを受ける こ とによ り 、 データ RA M 30に対し て出カイ ネーブル信号あるいは書込みィ ネーブル信号を.出力 する。 R Z Wコ ン ト ロ ール 3 1 の構成例は第 2図に示されて いる。
[0009] ァ ド レス · ジ ェ ネ レータ 3 2 は前記マイ ク 口プログラム制 御部 5 - 1 の制御によ って、 前記データ R A M 30と前記演箕部 4 との間のデータのやり と り の際に、 該デ—タ! AM 30のア ド レスを指定する。 他方、 前記ホス ト プロセ ッサ 200 と該デ一 タ R A H 30との間のデータのやり とり の際のァ ド レス指定は、 ア ド レス · レジスタ 3 3 を介して行われる。 レジスタ 3 4 は 該デ―タ R A M 30から前記マイ ク ロプログラム制御部 5 ― 1 ま たは上記ァ ド レス · ジェネ レータ 3 2 へデータを送るために 設けられている。
[0010] ク ロ ッ ク発生部. 5 — 2 は、 ク ロ ッ ク発振器 5 4およびク ロ ッ ク制御部 5 5 から構成されており 、 該ク 口 ッ ク発振器 5 4 にて発生させら'れたク ロ ッ クパルスは該ク ロ ッ ク制御部 5 — 2 を介して出力され、 該 F F Pのう ち上記マイ ク ロプログラ ム制御部 5 - 1 、 および、 該マイ ク ロプログラム制御部 5 - 1 によ って制御される全ての部分の同期をとつている。
[0011] 双方向バッ フ ァ 9 は、 第 1 図に示されるよう に、 該ホス ト コ ン ピュ ータ 200 からデータ RA M 30へデ一タを書込む方向お よびその逆方向を向いた 2つのバッファを互いに並列に接繞 したもので、 通常は共に高ィ ンピーダンス状態にあって該ホ ス トプロセッサ 200 と該データ R AM 30の間を電気的に遮断し ているが、 それぞれ該ホス トプロセ ッサ 200 からの制御によ つて動作状態となり、 データ転送を可能にする。
[0012] 以上のよ-うなハ ー ドウ ア構成-を有する従来の高速浮動小 数点演箕システムにおいて、 前記ホス トプロセ ッサ 200 から 前記データ RAM 30へのデータの書込み、 F F Pにおける演算 処理、 および該データ R A M 30から該ホス トプロセ ッサ 200 へ の演箕結果の読出しば以下のように行われていた。
[0013] ① ホス トプロセ ッサ 200 は FFP 100に、 演算の指令と該濱 算に必要なデ―タを含む 1つのコマン ドブロ ックをデ—タの 形で入力する。 '
[0014] ② F FP 100は上記 1 つのコ マン ドブロ フ クに従つて演算を 実行する。
[0015] ③ ホス トプロセ ッサ 200 は FF P 100より該 1 つのコマン ド ブ σックに対する演算結果を読出す。
[0016] ④ 以下①〜③の く り返し。
[0017] 上述のような徒来の高速淳勣小数点演算システムにおいて は、 ホス トプロセ 'ズサから F F Ρへ 1度に複数のコマン ドブ 口 ックを入力することができないという問題点があった。 発明の開示
[0018] 本発明の目的は、 高速浮動小数点演箕器の演箕処理実行中 においてもホス トプロセッサが次々と先の演箕のコマン ド 与えておく こ とを可能にし、 高速浮動小数点演算器が 1 つの コマ ン ドブ口 ックに対する演算処理を終えると、 直ちに次の コマ ン ドブロ ッ クに対する演算処理にとりかかる こ とができ るようにして全体的な処理速度を高速化するこ とにある。 本発明による高速淳勛小数点演.算システムは、 ホス トプロ セ ッ サと高速浮動小数点演算器とからなり、 該ホス トプロセ ッサは該高速浮動小数点演箕器に、 演算に必要なデータを舍 むコマ ン ドブロ 'ン クを入力するこ とにより演算の実行を命じ. 該高速浮動小数点演算器はさ らに、 該入力したコマン ドブロ ッ クを記憶するデータ記憶部と、 該データ記憶部に記憶した コ マ ン ドブロ ッ クに従って演算を実行し、 その演算結果を再 び該デ一タ記憶部に記憶させる演算実行部とからなり、 前記 ホ ス トプロセ ッサは該データ記憶部に記憶された演算結果を 読出す高速浮動小数点演算システムにおいて、 複数のコ マ ン ドブロ ッ クを各々、 前記データ記憶部内の前記ホ ス トプロセ ッサが指定する領域に記憶し、 各コマ ン ドブロ ッ クは、 該各 コマ ン ドブロ フ ク の次に実行すべきコマ ン ドブロ ッ クが記憶 されている、 該デ一タ記憶部の領域を指定する情報を含んで なり、 前記演算実行部は該情報を参照するこ とにより、 予め 記憶されている複数のコマ ン ドブロ ッ クの演算を次 と実行 することを特徴とする。 図面の簡単な説明
[0019] 第 1 図は'、 従来の高速浮動小数点演算システムにおけるハ 一 ドウ ア構成の 1 例を示す図、
[0020] 5 o 第 2図は R / Wコ ン ト ロール 3 1 の構成例を示す図、 第 3図.は本発明による高速浮動小数点演箕システムの 1例 を示す図、
[0021] 第 4図は本発明の高速浮動小数点演箕システムにおけるハ — ドウ アの構成の第 1 の例を示す図、
[0022] 第 5図は本発明の高速浮動小-数点演算システムにおけるコ マン ドブロ ッ ク のフ ォ ーマ ッ ト とチェ一二ングの 1例を示す 図、
[0023] 第 6図はホス トプロセ ッ サ 200 の手順を示す面、0 第 7図は高速浮動小数点演算器 (FFPH 00 における処理の 手順を示す図、
[0024] 第 8 A図は本発明の高速浮動小数点演算システムにおける ハ— ドウ ア構成の第 2 の洌を示す図、.
[0025] 第 8 B図は第 8 A図における双方向バン フ ァ レジスタ 1 の 構成図、
[0026] 第 8 C図は第 8 A図におけるホス トプロセ ッサアクセス用 制御部 の構成例を示す図、
[0027] 第 9 A図および第 9 B図は第 8 C図のホス トプロセ 'スサァ ク セス用制御部 2 のタイ ミ ングを示す図、
[0028] 第 10 A図は第 4図および第 1図のハー ドウヱァ構成におけ るデータの書込みおよび読出しのタイ ミ ングを示す図、 第 10 B図は第 8 A図のハー ドウヱァ搆成におけるデータの 書込みおよび読出しのタイ ミ ングを示す図である。 5 発明を実施するための最良の形態
[0029] 本発明による高速浮動小数点演算システムにおいては、 第 3 図に示すよ う に、 ホス トプロセ ッサ 200 から複数のコマン ドブロ ッ クを、 各々、 FFP100のデータ記憶部 3 内の、 該ホス ト プロセ ッ サ 200 が指定する領域へ記憶し、 該複数のコ マ ン ドブロ ッ クの各々 は、 該各々 の次に実行すべきコ マ ン ドブ口 ッ クが記憶されている該データ記憶部 3 内の領域を指定する 情報 A , , A 2 , A 3 , A 4 , …を舍んでなる。
[0030] 第 4図は本発明の高速浮動小数点演算システムにおけるハ — ドウ ヱァ構成の第 1 の例を示す図である。 第 4図は、 ス テ 一タス レジスタ 8 を設けた点以外はハ ー ドウ ヱァ上は前述の 第 1 図の構成と全 く 同一であ'る。
[0031] ステータ ス レジスタ 8.とは、 データ RAi1 30内に書込まれて いる複数のコ マン ドブロ ッ クの各々 の演箕処理が終了して演 算結果が該データ RAM 30にス ト ァされたかどうかを表示する ために各コ マン ドブ口 ッ ク毎に設けられたフラグの集合によ り なる ものであって、 後述 (第 5 図に関する説明) するよ う に、 本発明.の第 1 および第 2 の実施例においてホス ト プロセ ッ サ 200 から FFP100に送られるコマン ドブロ ッ クには FFP100 のデータ記憶部 同時に記憶されているコマ ン ドブロ ッ ク の 各々を互いに識別するための識別番号 " C B No. " が含まれて おり 、 前記各コマン ドブ口 ッ ク毎に設けられたフ ラグはそれ ぞれこ の " C B No. " に対応する。 また、 該各フ ラグは、 対応 するコ マ ン ドブロ ッ クがホス トプロセ ッサ 200 によって書込 まれたとき ".1 " となり 、 対応する演算結果がホス トプロセ ッサ 200 によって読出されると " 0 " に戻される。
[0032] 以下においてば、 第 5図、 第 6図および第 7図を用いて、 本発明の高速浮動小数点演算システムにおいて、 特にホス ト プロセッサから F F Pへ入力されるコマン ドブロ フクのデー タ搆造の 1例、 および、 このようなデータ構造を有するコマ ン ドブロ ックを用いてホス ト:プロセ ッサ、 .F F P各々におい て行われる処理の手順について説明する。
[0033] なお、 これらの説明は、 前述の本発明の高速浮動小数点演 算システムにおけるハー ドウヱァ搆成の第 1の例 (第 4図) に基いて行うが、 これらの説明は、 後述の、 第 8 A図で示さ れる本発明の高速浮動小数点演算システムにおけるハ— ドウ エア構成の第 2の実施例にもそのまま適用し得るものである。 第 5図は、 本発明の実施例におけるコマン ドブロ ック (以 下では C B とも称す》 のフォ 一マツ ト とチヱ一ユング
[0034] (chaining) の 1例を示す図である。 第 5図において、 各コ マン ドブロ ックの先頭番地の最上位ビッ ト ( M S B ) を " V " で示している。 このビッ トが 1であるならば、 以下に続く コ マン ドブロ ックは演箕の実行を指令するものであることを意 味し、 このビッ トが 0 のときは、 これで演算が終了したこと を意味する。 第 5図で" IN'ST"と示されているのは Instruction の略であり、 このコ マン ドブロ ックが実行すべき機能を示す。 具体的にはその機能に対応するマイ ク 口プログラムの先頭番 地である。 K C B Να " は FFP100のデータ記憶部 3に同時に記 憶されているコマン ドブロ ックの各々を互いに識別するため の識別番号である。 そして、 K NEXT CB POINTER " が、 前述 の本発明による 「各コマン ドブロ ックの次に実行すべきコマ ン ドブロ ックが記憶されている、 データ記憶部 3 の領域を 指定する情報」 に対応するものである。 こ こで CB PO I NTER とは該高速浮動小数点演算システム内に設けられ、 該 F F P が実行中のコ マン ドブロ ッ クが記憶されているデータ記憶部 の領域の先頭番地をロー ドしておく ためのレジスタであって 前述の第 4図の構成においては、 ァ ド レス · ジェネ レータ 3 2 内の 1 つのレジスタ A (図示せず) がこれに充てられて いる。 したがって、 " N EXT C B PO I NTER " とは、 該実行中のコ マン ドブロ ッ クの次に実行すべきコマン ドブロ ッ クが記憶さ れている、 該データ記憶部 3 の領域の先頭番地を示すもので ある。 上記の情報に続く部分には、 前述のように、 演算の実 行に必要なデータが記されている。 第 5図においてコマン ド プロ ッ ク 4の次、 つまり最後のコマン ドブロ ックの先頭番地 は 0であるのでそのデータ領域は NU LL (空白) となってい る。 また、 第 5図に示された各コマ ン ドブロ ッ クの記憶領域 は、 互いの記憶領域あるいはデ一タ記憶部内の他の記憶領域 と重ならない限り、 任意の領域にとることができ、 これは該 ホス トプロセ ッ サ 200 によ って指定される。
[0035] 第 6図は、 本発明の実施例としての高速浮動小数点演算シ ステムにおけるホス トプロセ ッサ 200 の手順を示す図である。
[0036] STA RT 後、 まずステツプ 302 で前記マイ ク ロプログラム記 憶部(WCS) 52 およびデータ RA M 30 (こ こでは第 4図のハー ド ウェア構成を用いる ものとしておく 。 ) の内容を初期化し、 ステ ツプ 303 でコマン ドブロ ッ ク のカ ウ ン ト ( F F Pに入力 したコマン ドブロ ックのう ち未だ演箕結果を読出していない ものが何個あるかを示す計数値、 ) をゼロとする。 次にステ ップ 304 で F F Pに高速浮動小数点演算を行わせるために用 意されたコマ ドがあるかどうかを判断し、 もしなければ先 の演算結果読出しのステ ップ(309〜312)へジャ ンプし、 他方. F F Pに与えるコマン ドがあればステ ツプ 305 に進んで、 既 に F F Pに入力したコマン ドのう ち未だ演箕結果を読出して いないものの数が該 F F Pに同時に記憶できるコマン ドプロ ック数の最大値に達していないかどうかをチヱ ックする。
[0037] (第 6図の例では 8 コとしている。 またコマン ドプロ フクの カ ウ ン ト C B カウ ン ト は、 前述のよう に C B = 0 からカウ ン ト しているので C Bカウ ン 卜の最大値は 7 となっている。 ) もし、 該 F F Pにコマン ドブロ ックが同時に記憶可能な最大 数既に記憶されているならば、 これ以上コマン ドブロ ックの 入力はできないので、 やはりステ ップ 309〜 312 の演算結果 読出しのステップを実行する。 他方、 未だ新たにコマン ドブ 口 ックを入力する余地があるときにはステップ 306 に進み、 ここで前記先頭番地の MB S ,すなわち、 κ V " は 0 としたまま で、 該 " V " 以外のコマン ドブロ フクの内容をデータ RAM 30 に書込む。 ここで V = 0 としているのは、 該ホス トプロセ ッ サ 200 がコマン ドプロ ックの書込みを終えないう ちに、 前記 F F Pが V = 1を読んで該 V = 1 のビッ ト以後のデータ RAM 30内容をコマン ドと誤って読むことがないようにするためで ある。 κ V " 以外のコマン ドブロ ックの書込みを終えると、 ステツプ 307 では V = 0 の N UL Lコマン ドブ t ッ クを前記ステ' ップ 306 のコマン ドブロ ッ クの "NEXT CB POINTER" の内容が 示す番地に書込んでお く 。 次に新たなコマン ドブロ ッ クを入 力する ときには、 この番地から書込むこ とになる。 次にステ ッフ。 308 において、 先のステ ツ プ 306 のコマン ドブロ ッ クの " " を 1 と し、 コマン ドブロ ッ クのカ ウ ン トをイ ンク リ メ ン トする。
[0038] ステ ツプ 309 からは F F Pにおける演算結果の読出しのス テ ツプであり 、 まず、 ステ ップ 309 において F F Pのステー タ ス レジスタ (後述) に 1 が立っているかを判断する。 F F P のステータス レジスタ とは、 先に第 4図の説明で述べられ ているよ う に、 F F Pにおいて、 前記 K C B Να " の各々に対 応して設けられたフ ラグからなる ものであって、 該 F F Ρ は 1 つのコマ ン ドブロ ッ クについて演算処理を終えてその演算 結果をデータ記憶部 (データ RA 30) の所定の領域に書込ん だ後、 該ステータ ス レジスタ内の対応する フラグを 1 とする ものである。 こ こでどのフ ラグも 1 となっていなければ、 F F Pにおいて演算結果が出ている ものがないという こ とで あるので、 再びステ ッ プ 304〜 308 の、 データ書込みのステ ッ プへジャ ンプする。 も し、 該ステータス レジスタに 1 が立 つている ビ ッ ト 'があれば、 ステ ッ プ 310 で、 このビッ トに対 応するコ マン ドブロ ッ クの演算結果をデータ RAM 30から読出 す。 そして、 ステ ップ 311 で読出した演算結果に対応するス テータス レジスタのビッ トを 0 にク リ アする。 ステ ツ プ 312 では、 演算結果を 1 つ読出したこ とに対応して、 前記 C B 力 ゥ ン トをデク リ メ ン トする。 こ う して、 もう 1 つ新しいコ マ ン ドブ n ックを入力する余地ができたことになる。 こう して 再びステ ップ 304 にジャ ンプする。
[0039] 第 7図は、 F F Ρにおける処理の手順を示す図である。
[0040] スター ト後、 まず、 ステップ 402 において C Βポイ ンタに 初期値をセ ッ トする。 C Βボイ ンタは、 先に第 5図の説明の 際に述べたも.のである。 次にステツプ 403 で該 C Βポイ ンタ が指定するデータ 30の内容を読出す。 ステップ 404 では. まずその先頭番地の M S Β、 つまり前記 " V " ビッ 'トが 1か どうかを見る。 これが 0であればまだデータ RA M 30に演算を 指令するコ マ ン ドブロ ックが入力されていなことを意味し、 入力されるまで該 F F Ρはステツプ 403 , 404のル一プで待 つことになる。 ステツプ 404 で V (M BS) = 1 であるならば、 ステップ 405 にて、 第 5図に示した-コマン ドブロ ックの
[0041] K C B No. " を読んで第 4図のア ドレス · ジェネレータ 3 2の 中の 1つのレジスタ B (図示せず) にス トアする。 ステップ 407 は F F Pの高速浮動小数点演算に対応するもので、 F F Pはコ マ ン ドブロ ックのデータ領域中のデータをパラメ 一タ として演算を実行し、 演算結果を該コマン ドブロ ッ クのデ一 タ領域にス トアする。 ステップ 408 では、 先に第 6図の説明 の欄で述べたよ'うに、 演算結果をデータ R A Mにス トァした コマン ドブロ フ ク の C B No.に対応するステータス レジスタの ビッ トを 1 にセ 'ン トする。 これ 4こよって、 F F Pは該コマン ドブロックの演算結果が読出し可能であることを表示するの である.。 ステツプ 409 では、 該コマンドブロ ックの " N'E XT C B P O I NT ER " を読出して、 次のコマン ドブロ ックを記憶してい るデータ R A Mの領域の先頭番地を、 前記 C B ポイ ンタ (ァ ド レス · .ジェ ネ レータ 3 2 内の レジスタ A ) にス ト ァする。 そして、 次のコマン ドブロ ックの処理のステップ 403 へ進む このように、 上述のようなコマ ン ドブロ ックのデータ構造 と、 ホ ス トプロセ ッサおよび F F Pにおける処理手順.を用い れば、 F F Pの演算処理実行中においても次々 と先のコマン ドを与えておく ことができるので、 F F Pは 1 つのコマン ド プロ ッ クに対する演算処理が終了するとす ぐに次のコマン ド ブロ ックに対する演算処理にとりかかるこ とができる。
[0042] 次に、 本発明の高速浮動小数点演算システムにおけるハ — ドウヱァ構成の第 2 の例を示す、 第 8 A図、 第 8 B図、 およ び、 第 8 C図について説明する。
[0043] 第 8 A図において、 ノ ッ ク プレー ンバス 7 0およびバスィ ンタ 一 フ ヱ イ ス 7 1 を介する ホス ト プロ セ ッ サ 200 との接続 関係の他、 データ記憶部 3およびク ロ ック発生部 5 — 2 の構 成と機能、 そして、 マイ ク ロプロダラム制御部 5 — 1 、 演算 部 4、 そして、 ステータ ス レ ジス タ 8 の機能は、 前述の第 1 図の F F P と全く 同様である。 第 8 A図では、 マイ ク ロプロ グラム制御部 5 — 1 および演算部 4 については、 それらの内 部のより詳細な構成が示されている。 上記のマイ ク ロプログ ラム制御部 5 - 1 および演算部 4の内部の構成の詳細につい ては、 本発明に直接関わるものではないので以下に簡単に説 明する。
[0044] まず演算部 4 はレジスタ ' ファ イ ル 4 0、 浮動小数点乗算 ノ除算器(MP Y Z D I V) 41および浮動小数点算術論理演算器 (ALU)42 から構成されている。 レジスタ · ファ イ ル 4 0 は該 マイ ク ロプログラム制御部 5 ― 1 の制御のもとに、 前記デー タ RAM 30より演箕用データを読出して前記 MPYZDIV 41へ供 給し、 また、 該 ALU 42または PYノ DIV 41における演箕途中 のデータおよび最終演算結果をここに一時保持するためのも のである。 該最終演箕結果は、 該レジスタ ' ファ ィ-ル 4 0か ら前記データ RAM 30に書込まれる。 ALU 42は加減算および比 較ノ論理演箕を行い、 MPY/DIV 41は乗除算を行う。 該 ALU 42および MPYノ DIV 41はそ ぞれ 2種類の出力を有しており . 1 つば、 それぞれ、 加減箕、 および、 乗除箕の算術演算の結 果を出力するもので、 これらの箕術演算锫果は前記レジスタ ファ イ ル 4 0 に入力される。 該 ALU 42および MPYZDIV 41の 各々における他の 1 つの出力は、 比較 論理演算結果または 演算時のエラーの発生を知らせるステータス信号であり、 後 述のように、 前記マイ クロプロダラム制御部 5 — 1 は、 該ス テータス信号の内容を解読して、 次に実行するマイ ク π命令 を決定する。
[0045] マイ ク ロプログラ厶制御部 5 — 1 は、 シーケンサ 5 1、 前 述の WCS 52、 マイ クロコー ドレジスタ 5 3、 デコーダ 5 6 、 エラ一記憶部 5 7 マルチプレクサ 5 8、 およびレジスタ 5 9 から構成されている。 該 W C Sは R A Mであって、 該 WCS 52には当該 F F Pにおける演算処理の開始時に前記ホス トプロセッサ 200 からマイ クロプログラムが書込まれる。 第 8 八図の 〇 5書込制御部 6 0 は、 ホス トプロセ ッサ 200 か らのプログラム書込の要求を受けると、 その CLEAR信号出力 により、 前記シーケンサ 5 1 を初期状態に固定しつつ、 ノ ツ ファゲー ト 6 1 を開とするように制御する。 ホス トプロ セ フ サ 200 からの W C Sア ドレス及び W C Sデータ (マイ ク ロ命 令) は該バッ ファゲー ト 6 1 が有する 2つのゲー トの各々を 通って該 WCS 52に入力される。
[0046] シーケ ンサ 5 1 が該 WCS 52のア ド レスを指定するこ とによ り、 該ァ ドレスにス トァされているマイ ク 口命令がマイ ク ロ コ ー ドレジスタ 5 3 にロー ドされ、 該マイ ク ロ命令が実行さ れる。 こ こで、 前記演算部 4からのステータス信号はデコ ー ダ、 エラー記憶部 5 7およびマルチプレクサ 5 8を柽て、 解 読され、 該ステータス信号の内容が順にレジスタ 5 9 にロ ー ドされる。 前記シーケンサ 5 1 は該レジスタ 5 9·の内容に基 いて、 次の W C Sア ドレスの指定を行う。 このようにして該 マイ ク 口プログラム制御部 5 - 1 は動作する。
[0047] なお、 こ こまでの、 演算部 4およびマイ ク 口プログラム制 御部 5 - 1 の構成の詳細についての說明は、 先の第 1図およ び第 4図にも該当するものである。
[0048] 双方向バッファ レジスタ 1 の構成は第 8 B図に示すとおり である。 第 8 B図において 11, 12は、 それぞれ後述するホス ト プロセ ッ サアクセス用制御部 2 の制御 (信号 WT, および
[0049] WP 2 ) により、 データの書込みを行う レジスタ、 13, 14もま た、 ホス トプロセ ッ サアクセス用制御部 2 の制御 (信号 0E 1 および 0E 2 ) によりデータを出力する ( ト ライ ステー ト) バ ソ フ ァ でめ る 。 - ホス 卜プロセ ッ サアク セス用制御部 2 の構成は、 第 8 C図 に示されている。 第 8 C図において、 21, 22, 23は Dフ リ ッ プフ口ッ.プ、 24, 25, 27, 29はア ン ド (A N D ) 回路、 26, 28はナン ド (NAND) 回路である。
[0050] 第 9 A図および第 9 B図は、 ホス ト プロセ ッ サア クセス用 制御部 2の動作のタイ ミ ングを示す図である。 第 9 A図はホ ス トプロセ ' サ 200 へデータ [? AM 30のデータを読出すときの ものである。 第 8 C図に示すように、 ホス トプロセ ッサ 200 よりバスィ ンタ一フヱイ ス 7 1を介してス トロ一ブ信号 ( S T B ) とリ ー ド ♦ ライ ト i 号 ( Rノ W) が入力される。 これは従来、 前述の第 1図の構成においてバスィ ンタ一フヱ イ ス 7 1 から R ZWコ ン ト ロ ール 3 1 へ入力されていたもの である。 (第 2図) 。 ここで、 R ZWi 号はデータ書込み時 は常時 α .Ο " であり、 データ読出し時は常時 " 1 " である。 この回路自体の動作は容易に理解されるものである ので途中 の説明は省略する。 第 9 Α図に示されるように、 R ZW信号 が κ 0 " のときの出力は K HOST " , tt P 1 " 、 そして K 0E 1 である。 HOSTは第 8 A図のク ロ ック制御部 5 5 に入力され、 F F Pを動作させるク ロ ックパルスを停止させる。 WP 1 は第 8 B図に示されるように、 双方向ノ、 ッ ファ レジスタ 1 のレジ スタ 1 1 の ト リガ入力となつている。 第 9 Α図に示すように
[0051] KP 1 の立上りでレジスタ 1 1 にデータ RAM 30から転送された データがセ ッ トされる。 もう 1 つの出力 0E 1 は、 第 8 B図の 双方向バッ フ ァ レジスタ 1 の ( ト ラ イ ステー ト) ノ ッ フ ァ 1 3 の制御入力であつて、 ノ ス ィ ンターフェイス 7 1からの ス ト ローブ信号に等しいタイ ミ ングで " 1 " となっており、 前記レジスタ 1 1にデータがセ ッ トされた後、 ス ト ローブ信 号が " 0 " となるまでの間にレジスタ 1 1にロー ドされてい たデ一タカく、 ホス トプロセ ッサ 200 に読取られる。 またこの とき、 上記 HOST信号と、 0E 2を反転した 0E 2信号が前記ス ト ローブ信号と R / W信号の代りに Rノ Wコ ン ト α—ル 3 1 に 入力される。 今、 データ読出し時には 0Ε 2 'は' κ 0 " であるの で、 第 2図から明らかなように、 この.ときは Rノ Wコ ン ト 口 —ル 3 1 からは上記 HOST信号が " 1 " となるタイ ミ ング、 す なわち、 ¥ Tが " 0 " となるタイ ミ ングでデータが読出され る。 つまり、 このデータがレジスタ 1 1 にセ ッ 卜 されるの である。 またレジスタ 1 i におけるデータのセッ ト完了'と同 時に HOSTは " 0 " に戻り、 ク ロ ッ ク制御部 5 5 に対するク 口 ッ クパルスの停止制御を取りやめる。 即ちデータがレジスタ 1 1 にセ ッ 卜されると同時に F F Pのク ロ ック停止は解除さ れる。 このク ロ ッ ク停止時間は F F P のク ロ ッ クの 1周期閩 てある。 次に第 9 B図を用いてホス トプロセ ッサ 200 からデ ータ RAM 30へのデータの書込みの動作のタイ ミ ングについて 説明する。 この場合も、 第 8 C図の回路の動作は容易である ので、 その出力、 " HOST " , および " 0E 2 " についての み述べる。 HOST信号の役割り は前述の第 9 A図の場合と全く 同様である。 出力 " WP 2 " は、 第 8 B図に示すように、 双方 向バッ フ ァ レジスタ 1 の レジスタ 1 2 の ト リ ガ入力となって おり、 0E 2 は、 該双方向バッ フ ァ レジスタ 1 の ( ト ライ ステ - ト) バッ ファ 1 4 の制御入力であって、 上記 HOST信号と全 く 同じタイ ミ ングで " 1 " となる。 0E 2 はまた、 反転されて ΤΤとなって R ZWコ ン ト ロール 3 1 に HOSTと共に入力され R ZWコ ン ト ロール 3 1から書込みイ ネ—ブル信号を出力せ しめる。 こう して、 まず、 WP 2によってホス トプロセ ッサ
[0052] 200 からのデータが双方向バッ ファ レジスタ 1 のレジスタ 1· 2 にセ ッ トされた後、 HOST信号が、 F F Pを動作させるク ロ ックパルスを停止させると同時に、 該 HOST信号と 0E 2信号 は R /Wコ ン トロール 3 1に作用して、 デ一タ RAM 30を書込 み可能とし、 さらに同時に 0E 2 は双方! ¾バッファ レジスタ 1 の ( ト ライ ステー ト) ノ ッファ 1 4を出力可能とする。 こう して、 ホス トプロセ ッサ 200 からのデータが F F Pのデータ RAH 30に書込まれる。 このときも F F Pの停止時間は F F P のク ロ ックパルスの 1周期間である。
[0053] 以下においては、 第 4図 (および第 1図) に示される構成 を有する F F P と、 第 8 A図に示される構成を有する F F P との各々における、 ホス トプロセ ッサ 200 からのデータの書 込み、 および、 該ホス トプロセ ッサへのデータの読取りの際 のタイ ミ ングについて考察する。
[0054] 第 10A図は、 前述の第 4図で示される高速浮動小数点演算 器(PFP)IOOにおけるホス トプロセ ッサ (第 10A図および後逮 する第 10B図では H Pで示す) 200 からデータ SAM 30へのデ ータの書込み、 および該データ RAM 30から該ホス トプロセッ サ 200 への読岀しのタイ ミ ングを示す図である。 第 10 A図に おいて、 ( a ) はホス トプロセッサ(HP) 200 における処理サ ィ クル、 ( b ) は FFP200における演算処理の実行時間、 及び 停止帰還を示すものである。 ( c ) は FPP100におけるクロ ッ ク ノヽ。ルス ( C L K ) のタイ ミ ングを示す。 As は該ホ ス トプ ロ セ フサ 200 力 FFP100のク 口 ックバルスを停止させるための 信号 (前記ク ロ ック停止信号) を出力するサイ クルで、 該ク ロ ック停止信号が FFP100のク ロ ッ ク制御部 5 5 に入力される と、 該ク ロ ッ ク制御部 5 5 は、 FFP100におけるク ロ ックパル ス の出力を停止する (時刻 t j。 これによつて FFP100の演箕 処理は停止する。 次に該ホス トプロセ ッサ 200 は、 前記双方 向バッ フ ァ 9 のう ち該ホス トプロセ ッサ 200 からデータ RAM 30方向へ向う ( ト ライ ステー ト) ノ ソ フ ァを動作可能とし、 前記 R /Wコ ン ト ロ ー ル 3 1 に対し、 R /W信号を " 0 " と する と共にス ト ロ—ブ信号を出力する。 これによつて該ホス . トプロセ ッサ 200 からデータ RAM 30へデータの書込みが開始 される (時刻 t 2)。 ここで第 10A図において略号 Wは該ホス トプロセ ッサ 200 から該 FFP100へのデータの書込みのサイ ク ルを表わすものとする。 時刻 t 3 にてホス トプロセ ッ サ 200 からデータ RAM 30へのデータの書込みが終了すると、 次のホ ス トプロセ ッサ 200 におけるマシンサイ クルにおいて該 FFP 100 の停止を解除するためのサイ クル A e が開始され、 該ホ ス トプロセ ッサ 200 からク 口 ッ クパルス停止の解除のための 前記ク 口 ック再開信号が送られ、 前記ク 口 ッ ク制御部 5 5 は 該ク ロ ック再開信号を受けて (時刻 t 4.)、 再びク ロ ックパル ス の出力を再開する。 これによつて該 FFP.100は再び演箕処理 を再開する。 第 10A図の右半分に示されている、 該ホ トプ 口セ ッサ 200 からの読出しの場合も、 A s および A e のサイ クルについては前記の書込みの場合と全く 同様であり、 前記 書込み時との違いは、 時刻 t 7 から始まる、 該 F F Pから該 ホス トプロセ ッサ 200 へのデータの読出しサイ クルにあり、 このとき、 該ホス トプロ セ フサ 200 は前記双方向バツファ 9 のう ち該ホス トプロセ ッサ 200 方向へ向うバッファを制御し てこれを動作可能とし、 他方、 該 R Z Wコ ン トロール 3 1 に 対しては RZW信号を κ 1 η とし.でス ト ローブ信号 ( S— ΤΒ ) と共に出力する。 これにより R / Wコ ン ト ロールは、 出カイ ネーブル信号 ("ϋ~ ") をデータ RftM 30に対して出力し、 この 結果、 データ RAM 30より該ホス トプロセ ッサ 200 へデ一タが 読出され.る。 第 10A図から明らかなように、 第 4図の構成の FFP100とホス トプロセ ッサ 200 との間のデータのやり とりに おいてば、 該 FFP100への書込み、 読出し、 いずれの場合にお いても、 そのための FFP100の停止時間ば、 該ホス トプロ-セ ッ サ 200 のマシンサイ クルの約 2倍に及んでいる。 実際、 第 4 図の例でば、 この時間は約 2 sec である。
[0055] 第 10 B図は、 ホス トプロセッサ 200 と F F Pのデータ MM 30との間でのデータ転送のタイ ミ ングを、 第 8 A図の F F P の場合について示すものである。
[0056] 第 10 B図において、 ( a ) はホス トプロセ ッサ(HP) 200 に おける処理サイ'ク ル、 ( b ) は F F Pにおける演算処理の実 行時間、 及び停止時間を示すものである。 ( c ) は F F Pに おけるク ロ ックノヽ'ルス ( C L K ) のタイ ミ ングを示す。
[0057] 第 10B図 ( 1 ) における Aw はホス トプロセッサ 200 にお けるデータ書込みサイクルであり、 AR ば同じくデータ読出 しサイ クルである。 一方、 前述の第 9 A図および第 S B Iの 説明からも明らかなようにデータの書込み、 および読出し時 における F F Pの停止時間は F F Pの 1 マイ ク ロサイ クル (本実施例では 0. 1 μ s e c)である。
[0058] このように、 第 8 A図のハー ドゥ ヱァ構成を用いるとホス トプロセ ッサ 200 から F F P 1 Q 0へのデータの書込み、 および、 演算結果の読出しの際に該 F F P 100が停止する時間が極めて短 く て済むことになる。 このことは特に、 前に第 5図、 第 6図- および第 7図を用いて説明したコマン ドブ口 フ ク のデータ構 造、 および、 そのようなデータ構造を有するコマン ドブロ ッ クを用いて、 ホス トプロセ ッサ 200 および FF P 100において行 われる処理の手順を用いる際に極めて有利である。 なぜなら ば、 上記のコマン ドブロ ックのデータ構造や処理手順は F F Pが演算処理を実行中であつても、 その間に適宜割込んで次 々 と先のコマン ドを与えておく ようにするものであるので、 この割込みによる F F Pの演算処理の停止時間が、 1桁も短 く なる ことになる力、らである。
[0059] 以上述べたように、 本発明の高速浮動小数点演算システム においては、 F F Pの演算処理実行中においてもホス トプロ セ ッサは次々 と先のコマン ドを該 F F Pに与えておく こと力 できるので、 F 'F Pは 1 つのコマン ドブロ ックに対する演算 処理が終了するとすぐに次のコマン ドブロ ッ クに対する演算 処理にとりかかることができるので、 全体的な処理速度の向 上が実現される。
[0060] さ らに、 第 8 A図、 第 8 B図および第 8 C図に示されたハ 一 ドウエア構成を用いると、 ホス トプロセ ッサが F F Pにコ マン ドブロ ックを入力する際、 および F F Pから演箕結果を 読出す際の F F Pの演算停止時間は極めて短かく なるため、 F F Pは、 ホストプロセッサからの入出力にわずらわされる ことなく、 次々とコマン ドブロ ックに対する演算処理を行な う こ とができるため、 全体的な処理速度が大いに向上する。 産業上の利用可能性
[0061] 本 明はホス トプロセ ッサと、 該ホス トプロセ ッサによつ て演算指示を入力されることにより高速に演算を—実行し、 ま た、 該ホス トプロセ ッサによつて演算結果を読出される高速 浮動小数点演算器とからなる システムにおいて有用である。
权利要求:
Claimsの -節 ffl
1. ホス トプロセ ッサ (200) と高速浮動小数点演箕器(100) とからなり、 該ホス トプロセ ッサ (200)は該高速浮動小数点 演箕器 (100)に、 演算に必要なデータを舍むコマン ドブロ ッ クを入力することにより演算の実行を命じ、
該高速浮動小数点演算器 (100)はさ らに、 該入力したコマ ン ドブロ ックを記憶するデータ記憶部 ( 3 ) と、 該データ記 憶部 ( 3 ) に記憶したコマン ドブロ ックに従って演算を実行 し、 その演算結果を再び該データ記憶部 ( 3 ) に記憶させる ' 演算実行部 (10) とからなり、
前記ホス トプロセ ッサ (100)は該デ一タ記憶部 ( 3 ) に記 憶された演算結果を読出す高速浮動小数点演算システムにお いて、
複数のコマン ドブロ ックを各々、 前記データ記憶部 ( 3 ) 内の前記ホス トプロセ ッサ (100)が指定する領域に記憶し、 各コマン ドブロ ックは、 該各コマン ドブロ ッ クの次に実行す べきコマン ドブロ ックが記憶されている、 該デ一タ,記憶部 ( 3 ) の領域を指定する情報を含んでなり、 前記演算実行部 ( 10) は該情報を参照する こ とにより、 予め記憶されている 複数のコマン ドブロ ッ クの演算を次々 と実行することを特徴 とする高速浮動小数点演算システム。
2. 前記コマン ドブロ ッ クの各々はさ らに、 演算の終了を 示すこ とのできるフラグを含んでなる請求の範囲第 1 項記載 の高速浮動小数点演算システム。 .
3. 前記コマン ドブロ ックの各々は、 さ らに、 前記データ 記億部 (.3 ) に同時に記憶されているコ マ ン ドブロ ックの各 を互いに識別するための識別番号を舍んでなり、
前記演箕実行部 (10) は、 各コマン ドブロ ッ ク の演算結果 を前記データ記憶部 ( 3 ) に記憶させる毎に前記ホス トプロ セ ッ サ (100)に対し.前記識-別番号を用いて該コマン ドブロ y クの演箕結果を読出し可能であることを表示し、
前記ホス トプロセ ッ サ (100)は該表示により前記演算結果 が読岀し可能であることを認知して、 前記データ記憶部 ( 3 ) から該演箕結果を読出し、 該表示を消去する請求の範西第 1 ― 項記載の高速淳動 /】、数点演箕システム。
4. 前記ホス トプ口セ ッ サ (100)は、 入力したコ マン ドブ ロ ックの数と演箕結果を読出したコ マ ン ドブロ ックの数との 差を所定の値以下に保つ請求の範囲第 1項記載の高速浮動小 数点演算システム。
5. 前記演算実行部 (10) は、 演算を実行するためのマイ ク ロプログラムを記億するマイ ク ロプログラム記憶部 (52) を備えてなり、
前記コマン ドブロ ックの各々は、 該マイ ク 口.プログラム記 憶部 (52) において、 実行すべき演箕に対応するマイ ク ロプ 口グラムを記億する領域を指定する情報を、 さ らに含んでな る請求の範囲第 1項記載の高速浮動小数点演算システム。
6. 前記ホス ト プロセ ッ サ (100)と前記データ記億部 ( 3 ) との間に、 該ホス トプロセ ッサから該データ記憶部 ( 3 ) へ のコ マ ン ドブロ ックの書込み、 および該データ記憶部 ( 3 ) から該ホス トプロセ ッ サ (100)への演算結果の読出しの際に、 一旦データをロ ー ドするための双方向バッファ レジスタ ( 1 ) を設ける請求の範囲第 1 〜 5項のいずれかに記載の高速浮動 小数点演算システム。
类似技术:
公开号 | 公开日 | 专利标题
US3478322A|1969-11-11|Data processor employing electronically changeable control storage
EP0241946B1|1995-06-21|Information processing system
US5115510A|1992-05-19|Multistage data flow processor with instruction packet, fetch, storage transmission and address generation controlled by destination information
JP2927108B2|1999-07-28|インサーキットエミュレータ
US4034349A|1977-07-05|Apparatus for processing interrupts in microprocessing systems
KR860000114B1|1986-02-19|논리추적장치|
DE2722099C2|1991-02-07|
US4896259A|1990-01-23|Apparatus for storing modifying data prior to selectively storing data to be modified into a register
US3323109A|1967-05-30|Multiple computer-multiple memory system
EP0569969B1|1998-03-04|Microcomputer having instruction memory storing instructions for reading out internal conditions
US4023142A|1977-05-10|Common diagnostic bus for computer systems to enable testing concurrently with normal system operation
KR900004006B1|1990-06-07|마이크로 프로세서 시스템
US3970999A|1976-07-20|Memory expansion apparatus
US4514808A|1985-04-30|Data transfer system for a data processing system provided with direct memory access units
US3518413A|1970-06-30|Apparatus for checking the sequencing of a data processing system
US4456994A|1984-06-26|Remote simulation by remote control from a computer desk
CA1145852A|1983-05-03|Diagnostic circuitry in a data processor
US4438488A|1984-03-20|Data processing system with a slave computer using data registers as the sole operand store
US5218712A|1993-06-08|Providing a data processor with a user-mode accessible mode of operations in which the processor performs processing operations without interruption
JP2829091B2|1998-11-25|データ処理システム
US3781810A|1973-12-25|Scheme for saving and restoring register contents in a data processor
US4729094A|1988-03-01|Method and apparatus for coordinating execution of an instruction by a coprocessor
EP0189638B1|1990-05-23|Bus width adapter
US5438665A|1995-08-01|Direct memory access controller for handling cyclic execution of data transfer in accordance with stored transfer control information
US5263168A|1993-11-16|Circuitry for automatically entering and terminating an initialization mode in a data processing system in response to a control signal
同族专利:
公开号 | 公开日
JPS63226764A|1988-09-21|
EP0306533A1|1989-03-15|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
1988-09-22| AK| Designated states|Kind code of ref document: A1 Designated state(s): US |
1988-09-22| AL| Designated countries for regional patents|Kind code of ref document: A1 Designated state(s): DE FR GB |
1988-11-15| WWE| Wipo information: entry into national phase|Ref document number: 1988901641 Country of ref document: EP |
1989-03-15| WWP| Wipo information: published in national office|Ref document number: 1988901641 Country of ref document: EP |
1989-12-18| WWW| Wipo information: withdrawn in national office|Ref document number: 1988901641 Country of ref document: EP |
优先权:
申请号 | 申请日 | 专利标题
[返回顶部]